home *** CD-ROM | disk | FTP | other *** search
-
- F2C(1) F2C(1)
-
- NAME
- f2c - Convert Fortran 77 to C or C++
-
- SYNOPSIS
- f2c [ option ... ] file ...
-
- DESCRIPTION
- F2c converts Fortran 77 source code in files with names end-
- ing in `.f' or `.F' to C (or C++) source files in the
- current directory, with `.c' substituted for the final `.f'
- or `.F'. If no Fortran files are named, f2c reads Fortran
- from standard input and writes C on standard output. File
- names that end with `.p' or `.P' are taken to be prototype
- files, as produced by option `-P', and are read first.
-
- The following options have the same meaning as in f77(1).
-
- -C Compile code to check that subscripts are within
- declared array bounds.
-
- -I2 Render INTEGER and LOGICAL as short, INTEGER*4 as long
- int. Assume the default libF77 and libI77: allow only
- INTEGER*4 (and no LOGICAL) variables in INQUIREs.
- Option `-I4' confirms the default rendering of INTEGER
- as long int.
-
- -onetrip
- Compile DO loops that are performed at least once if
- reached. (Fortran 77 DO loops are not performed at all
- if the upper limit is smaller than the lower limit.)
-
- -U Honor the case of variable and external names. Fortran
- keywords must be in lower case.
-
- -u Make the default type of a variable `undefined' rather
- than using the default Fortran rules.
-
- -w Suppress all warning messages. If the option is
- `-w66', only Fortran 66 compatibility warnings are
- suppressed.
-
- The following options are peculiar to f2c.
-
- -A Produce ANSI C. Default is old-style C.
-
- -a Make local variables automatic rather than static
- unless they appear in a DATA, EQUIVALENCE, NAMELIST, or
- SAVE statement.
-
- -C++ Output C++ code.
-
- -c Include original Fortran source as comments.
-
- Page 1 Tenth Edition (printed 10/15/91)
-
- F2C(1) F2C(1)
-
- -E Declare uninitialized COMMON to be Extern (overridably
- defined in f2c.h as extern).
-
- -ec Place uninitialized COMMON blocks in separate files:
- COMMON /ABC/ appears in file abc_com.c. Option `-e1c'
- bundles the separate files into the output file, with
- comments that give an unbundling sed(1) script.
-
- -ext Complain about f77(1) extensions.
-
- -g Include original Fortran line numbers in #line lines.
-
- -h Try to align character strings on word (or, if the
- option is `-hd', on double-word) boundaries.
-
- -i2 Similar to -I2, but assume a modified libF77 and libI77
- (compiled with -Df2c_i2), so INTEGER and LOGICAL vari-
- ables may be assigned by INQUIRE and array lengths are
- stored in short ints.
-
- -kr Use temporary values to enforce Fortran expression
- evaluation where K&R (first edition) parenthesization
- rules allow rearrangement. If the option is `-krd',
- use double precision temporaries even for single-
- precision operands.
-
- -P Write a file.P of ANSI (or C++) prototypes for pro-
- cedures defined in each input file.f or file.F. When
- reading Fortran from standard input, write prototypes
- at the beginning of standard output. Implies -A unless
- option `-C++' is present. Option -Ps implies -P , and
- gives exit status 4 if rerunning f2c may change proto-
- types or declarations.
-
- -p Supply preprocessor definitions to make common-block
- members look like local variables.
-
- -R Do not promote REAL functions and operations to DOUBLE
- PRECISION. Option `-!R' confirms the default, which
- imitates f77.
-
- -r Cast values of REAL functions (including intrinsics) to
- REAL.
-
- -r8 Promote REAL to DOUBLE PRECISION, COMPLEX to DOUBLE
- COMPLEX.
-
- -Tdir
- Put temporary files in directory dir.
-
- -w8 Suppress warnings when COMMON or EQUIVALENCE forces
- odd-word alignment of doubles.
-
- Page 2 Tenth Edition (printed 10/15/91)
-
- F2C(1) F2C(1)
-
- -Wn Assume n characters/word (default 4) when initializing
- numeric variables with character data.
-
- -z Do not implicitly recognize DOUBLE COMPLEX.
-
- -!bs Do not recognize backslash escapes (\", \', \0, \\, \b,
- \f, \n, \r, \t, \v) in character strings.
-
- -!c Inhibit C output, but produce -P output.
-
- -!I Reject include statements.
-
- -!it Don't infer types of untyped EXTERNAL procedures from
- use as parameters to previously defined or prototyped
- procedures.
-
- -!P Do not attempt to infer ANSI or C++ prototypes from
- usage.
-
- The resulting C invokes the support routines of f77; object
- code should be loaded by f77 or with ld(1) or cc(1) options
- -lF77 -lI77 -lm. Calling conventions are those of f77: see
- the reference below.
-
- FILES
- file.[fF]
- input file
-
- *.c output file
-
- /usr/include/f2c.h
- header file
-
- /usr/lib/libF77.a
- intrinsic function library
-
- /usr/lib/libI77.a
- Fortran I/O library
-
- /lib/libc.a
- C library, see section 3
-
- SEE ALSO
- S. I. Feldman and P. J. Weinberger, `A Portable Fortran 77
- Compiler', UNIX Time Sharing System Programmer's Manual,
- Tenth Edition, Volume 2, AT&T Bell Laboratories, 1990.
-
- DIAGNOSTICS
- The diagnostics produced by f2c are intended to be self-
- explanatory.
-
- BUGS
-
- Page 3 Tenth Edition (printed 10/15/91)
-
- F2C(1) F2C(1)
-
- Floating-point constant expressions are simplified in the
- floating-point arithmetic of the machine running f2c, so
- they are typically accurate to at most 16 or 17 decimal
- places.
- Untypable EXTERNAL functions are declared int.
-
- Page 4 Tenth Edition (printed 10/15/91)
-
-